package com.seaboxdata.service;


import com.seaboxdata.entity.*;

import java.util.Date;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

public interface IndicatorsService {
    //数据共享
    Map<String,Object> getSharedInfo();
    //数据来源
    Map<String, Object> getDataSourceInfo();

    //基础库
    Map<String, Object> getDTypeInfo();

    //服务能力、共享方式对比（文件、接口服务）
    List<ServiceInfo> getServiceInfo();

    //共享方式对比
    Map<String, Object> getShareWayInfo();

    //中间球：指标接入总数据量
    Long getStaRealInfo();

    //获取委办局各提供方使用 总数据量
    List<CirclesDepartment> getProvideCirclesInfo();

    //获取委办局各use使用 总数据量
    List<CirclesDepartment> getUseCirclesInfo();

    Integer getCountByTable(String tableName) throws Exception;

    //委办局 使用 总数据量
    List<CirclesDepartment> getShareDbInfo();

    //委办局提供（接入）总数据量
    List<CirclesDepartment> getDepartmentDbInfo();

    int delCirclesDepartmentInfo(String type);

    Boolean insertCirclesDepartmentInfo(CirclesDepartment circlesDepartment);

    //指标实时接入数据
    List<DataRealInfo> getFreRealInfo();

    Boolean insertDataRealInfo(List<DataRealInfo> realInfoList);

    //共享表所占存储空间
    List<DataShareInfo> getDataShareDbInfo();
    String getSpaceSizeByTable(String tableName) throws Exception;
    Boolean insertDataShareInfo(List<DataShareInfo> shareInfoList);

    //疫情数据
    Integer getPeopleNumber();

    Integer getHstestNumber(Date date);

    Integer getYmjzNumber();

    Boolean insertEpidemicDataInfo(EpidemicDataInfo epidemicDataInfo);

    List<EpidemicDataInfo> getEpidemicDataInfo();

    //接入方式热门数据
    List<DataCountInfo> getDataCountInfo(String type);

    //接入方式对比
    List<DataItemType> getDataCompCountInfo();

    List<DataCountInfo> getAccessWayInfo();

    List<DataCountInfo> getHotDataInfo();

    Boolean insertDataCountInfo(List<DataCountInfo> accessWayInfo);

    Boolean delDataCountInfo(String type);

    //数据治理
    Map<String, Object> getGovernanceInfo();


    /**
     * 查询系统来源(0-省市，1-新区，2-社会)数据量
     *
     * @return
     */
    List<CirclesDepartment> getSysGovDataInfo();


    /**
     * 查询资源数量排名-接入数量
     *
     * @return
     */
    List<CirclesDepartment> getResDataRankInfo();


    /**
     * 查询数据资源情况-基础/主题/专题
     *
     * @return
     */
    List<CirclesDepartment> getResDbDataInfo();


    /**
     * 越境司机预警数据
     */
    List<EpidemicDataInfo> getCrossDriverInfo();


    List<DataCountInfo> getMppDataInfo();

}
